package com.catazy.demo.app.network

import com.catazy.mvvmlib.net.BaseResponse

/**
 * 作者: Tao
 * 日期: 2024/1/29
 * 时间: 15:54
 * 描述: 通用数据类
 * 主要作用: 继承BaseResponse，框架帮忙自动脱壳
 *          1.继承 BaseResponse
 *          2.重写isSuccess 方法，编写你的业务需求，根据自己的条件判断数据是否请求成功
 *          3.重写 getResponseCode、getResponseData、getResponseMsg方法，传入你的 code data msg
 */
data class ApiResponse<T>(val errorCode: Int, val errorMsg: String, val data: T) :
    BaseResponse<T>() {

    override fun isSuccess(): Boolean {
        return errorCode == 0
    }

    override fun getResponseCode(): Int {
        return errorCode
    }

    override fun getResponseData(): T {
        return data
    }

    override fun getResponseMsg(): String {
        return errorMsg
    }
}